/**
 * 给定数组A和K，选最多K个互不相同的元素使得和最大 
 * 对数组A做排序并且unique，然后选即可
 */
class Solution {
public:
    vector<int> maxKDistinct(vector<int>& nums, int k) {
        using vi = vector<int>;
        sort(nums.begin(), nums.end(), greater<int>());
        nums.erase(unique(nums.begin(), nums.end()), nums.end());
        if(nums.size() > k){
            nums.erase(nums.begin() + k, nums.end());
        }    
        return nums;
    }
};